﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Domain.Model.Interfaces
{
    public interface IProjectRepository
    {
        /// <summary>
        /// Delete the detail with a given name
        /// from all projects
        /// </summary>
        /// <param name="name"></param>
        void DeleteDetailFromProjects(string name);

        /// <summary>
        /// Get all projects, which have no parenting program
        /// </summary>
        /// <returns></returns>
        IList<Project> GetStandaloneProjects();

        /// <summary>
        /// Get a ProjectTask by its id property
        /// </summary>
        /// <param name="taskId"></param>
        /// <returns></returns>
        ProjectTask GetTaskById(int taskId);

        void DeleteProjectTask(ProjectTask task);
    }
}
